package model.trader.portfolio;

import java.util.List;

import model.market.MarketConfig;
import model.market.MarketInformation;
import model.market.MarketManager;
import model.market.Position;
import model.trader.TradeInstruction;

public interface PortfolioManagementStrategy {

	/**
	 *
	 *
	 *A portfolio management strategy is used to allocate the trader's resources to their preferred assets.
	 * 
	 * @param pos
	 * @param market
	 * @param analystprices - the fair values calculated by the analyst for the securities.
	 * @return
	 */
	public TradeInstruction[] allocate(Position pos, 
			MarketManager market, 
			double[] analystprices,
			MarketInformation marketInfo);
}
